package com.sky.rabc.enums;

/**
 * 业务状态码枚举类型
 *
 * @author java@tedu.cn
 * @version 0.0.1
 */
public enum ServiceCode {

    /**
     * 成功
     */
    OK(200),
    /**
     * 成功(但是不执行(测试
     */
    OK_BUT_ROLLBACK(205),
    /**
     * 错误：请求参数格式有误
     */
    ERROR_BAD_REQUEST(400),
    /**
     * 错误：数据不存在
     */
    ERROR_NOT_FOUND(404),
    /**
     * 错误：数据冲突
     */
    ERROR_CONFLICT(409),
    /**
     * 错误：未通过认证，或未找到认证信息
     */
    ERROR_UNAUTHORIZED(401),
    /**
     * 错误：未通过认证，因为账号被禁用
     */
    ERROR_UNAUTHORIZED_DISABLED(411),
    /**
     * 错误：禁止访问，无此操作权限
     */
    ERROR_FORBIDDEN(403),
    /**
     * 错误：插入数据错误
     */
    ERROR_INSERT(500),
    /**
     * 错误：删除数据错误
     */
    ERROR_DELETE(501),
    /**
     * 错误：修改数据错误
     */
    ERROR_UPDATE(502),
    /**
     * 错误：严重错误
     */
    ERROR_SERIOUS(509),
    /**
     * 错误：不可执行的业务
     */
    ERROR_BIZ(505),
    /**
     * 错误：JWT已过期
     */
    ERROR_JWT_EXPIRED(600),
    /**
     * 错误：JWT格式错误
     */
    ERROR_JWT_MALFORMED(601),
    /**
     * 错误：JWT验证签名失败
     */
    ERROR_JWT_SIGNATURE(602),
    /**
     * TOKEN验证
     */
    ERROR_TOKEN(603),
    /**
     * 错误：上传的文件为空（没有选择有效的文件）
     */
    ERROR_UPLOAD_EMPTY(900),
    /**
     * 错误：上传的文件类型有误
     */
    ERROR_UPLOAD_INVALID_TYPE(901),
    /**
     * 错误：上传的文件超出限制
     */
    ERROR_UPLOAD_EXCEED_MAX_SIZE(902),
    /**
     * 错误：未知错误
     */
    ERROR_UNKNOWN(99999);


    private Integer value;

    ServiceCode(Integer value) {
        this.value = value;
    }

    public Integer getValue() {
        return value;
    }

}
